package com.settlement.system.model.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
import com.alibaba.excel.annotation.ExcelProperty;
        import java.math.BigDecimal;
        import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.Map;

/**
* <p>
* OMS原始订单明细表导入VO
* </p>
*
* @author huangrensen
* @since 2024-04-23
*/
@Schema
@Data
public class OriginalOmsOrderImportVo implements Serializable {
    @ExcelProperty(value = "OMS单号")
    private String orderNo;
    @ExcelProperty(value = "商店")
    private String storeName;
    @ExcelProperty(value = "网店交易号")
    private String storeTradeNo;
    @ExcelProperty(value = "换货原始交易号")
    private String originalNo;
    @ExcelProperty(value = "子交易号")
    private String subNo;
    @ExcelProperty(value = "订单状态")
    private String status;
    @ExcelProperty(value = "下单时间")
    private String purchasedTime;
    @ExcelProperty(value = "付款时间")
    private String paymentTime;
    @ExcelProperty(value = "发货时间")
    private String sendTime;
    @ExcelProperty(value = "已付金额")
    private String paidAmount;
    @ExcelProperty(value = "商品SKU")
    private String sku;
    @ExcelProperty(value = "条码")
    private String productCode;
    @ExcelProperty(value = "商品名称")
    private String productName;
    @ExcelProperty(value = "均摊金额")
    private String equalizationAmount;
    @ExcelProperty(value = "数量")
    private String qty;

    public static Map<String, String> getKeyMap(){
        Map<String, String> map = new HashMap<>();
        map.put("OMS单号", "orderNo");
        map.put("商店", "storeName");
        map.put("网店交易号", "storeTradeNo");
        map.put("原始交易号", "originalNo");
        map.put("子交易号", "subNo");
        map.put("订单状态", "status");
        map.put("下单时间", "purchasedTime");
        map.put("付款时间", "paymentTime");
        map.put("发货时间", "sendTime");
        map.put("已付金额", "paidAmount");
        map.put("商品SKU", "sku");
        map.put("条码", "productCode");
        map.put("商品名称", "productName");
        map.put("均摊金额", "equalizationAmount");
        map.put("数量", "qty");
        // 明细字段
        map.put("会员", "member");
        map.put("配货状态", "distributeStatus");
        map.put("支付方式", "payType");
        map.put("支付状态", "payStatus");
        map.put("发货仓库", "sendWarehouse");
        map.put("收货人", "receiver");
        map.put("收货人手机", "receiverPhone");
        map.put("收货人电话", "receiverMobile");
        map.put("收货人地址", "receiverAddress");
        map.put("省份", "province");
        map.put("市", "city");
        map.put("区", "area");
        map.put("买家姓名", "buyName");
        map.put("配送方式", "distributeType");
        map.put("定金付款时间", "depositPayTime");
        map.put("订单转入时间", "inTime");
        map.put("订单确认时间", "confirmTime");
        map.put("通知配货时间", "noticeTime");
        map.put("配货时间", "distributeTime");
        map.put("出库时间", "outTime");
        map.put("挂起人", "suspend");
        map.put("客户留言", "customerMessage");
        map.put("商家备注", "sellerRemark");
        map.put("订单备注", "orderRemark");
        map.put("预分配缺货数量", "preDistributeQty");
        map.put("平台规格", "spec");
        map.put("预计发货时间", "preSendTime");
        map.put("物流单号", "deliveryNo");
        map.put("商品金额", "goodsAmount");
        map.put("商品标记", "goodsTag");
        map.put("平台商品名称", "goodsName");
        map.put("平台商品ID", "goodsId");
        map.put("WMS订单号", "wmsOrderNo");
        map.put("实际支付金额（去除平台优惠）", "actPayAmount");
        map.put("网店优惠信息", "preferInfo");
        map.put("WMS推送单号", "wmsPushNo");
        map.put("品牌", "brandName");
        map.put("ERP单号", "erpNo");
        return map;
    }

    public static Map<String, String> getMainKeyMap(){
        Map<String, String> map = new HashMap<>();
        map.put("唯一标识", "pId");
        map.put("OMS单号", "orderNo");
        map.put("商店", "storeName");
        map.put("网店交易号", "storeTradeNo");
        map.put("原始交易号", "originalNo");
        map.put("子交易号", "subNo");
        map.put("订单状态", "status");
        map.put("下单时间", "purchasedTime");
        map.put("付款时间", "paymentTime");
        map.put("发货时间", "sendTime");
        map.put("已付金额", "paidAmount");
        map.put("商品SKU", "sku");
        map.put("条码", "productCode");
        map.put("商品名称", "productName");
        map.put("均摊金额", "equalizationAmount");
        map.put("数量", "qty");
        return map;
    }
}
